/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.commons.domain.bond;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * cere_shop_bond_recharge 店铺保证金充值记录实体类
 * 
 * @author
 */
@Data
@TableName("cere_shop_bond_recharge")
@ApiModel(value = "CereShopBondRecharge", description = "店铺保证金充值记录实体类")
@Accessors(chain = true)
public class CereShopBondRecharge implements Serializable {

  /**
   * 充值ID
   */
  @TableId(type = IdType.AUTO)
  @ApiModelProperty(value = "充值ID")
  private Long rechargeId;

  /**
   * 关联店铺ID
   */
  @ApiModelProperty(value = "关联店铺ID")
  private Long shopId;

  /**
   * 关联保证金ID
   */
  @ApiModelProperty(value = "关联保证金ID")
  private Long bondId;

  /**
   * 备注
   */
  @ApiModelProperty(value = "备注")
  private String remark;

  /**
   * 充值单号
   */
  @ApiModelProperty(value = "充值单号")
  private String rechargeNo;

  /**
   * 第三方订单号
   */
  @ApiModelProperty(value = "第三方订单号")
  private String thirdPartyOrderNo;

  /**
   * 充值金额
   */
  @ApiModelProperty(value = "充值金额")
  private BigDecimal amount;

  /**
   * 支付方式 1-微信支付 2-支付宝支付 3-银行转账
   */
  @ApiModelProperty(value = "支付方式 1-微信支付 2-支付宝支付 3-银行转账")
  private Integer payType;

  /**
   * 支付状态 0-待支付 1-支付成功 2-支付失败 3-已取消
   */
  @ApiModelProperty(value = "支付状态 0-待支付 1-支付成功 2-支付失败 3-已取消")
  private Integer payState;

  /**
   * 支付时间
   */
  @ApiModelProperty(value = "支付时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime payTime;

  /**
   * 过期时间
   */
  @ApiModelProperty(value = "过期时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime expireTime;

  /**
   * 创建时间
   */
  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新时间
   */
  @ApiModelProperty(value = "更新时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime updateTime;

  private static final long serialVersionUID = 1L;
}